SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TDREND_GAST_D01]  
/*---------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                  --*/  
/*---Cliente              : CASSINELLI S.A.              --*/  
/*---Sistema              : Tesoreria                    --*/  
/*---M«dulo               : Empresa                      --*/  
/*---Programa             : Delete tdrend_gast  --*/  
/*---Script               : ttproc_i.sql                 --*/  
/*---Nombre SP            : SP_TTPROC_INTE_I02           --*/  
/*---Desarrollado por     : Javier Flores A.             --*/  
/*---Fecha Creaci«n       : 02/08/1999                   --*/  
/*---Base Datos           : Microsoft Sql Server         --*/  
/*---Versi«n              : 7.0                          --*/  
/*---Invoca a SP          :                              --*/  
/*---------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/  
/*---Fecha Modificaci©n   : 20/04/2005                   --*/   
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI--*/  
/*-------------------------------------------------------*/   
/*---------------------------------------------------------*/
/*---Modificado 2 por     : Carlos Marquez               --*/
/*---Fecha Modificaci«n   : 19/08/2005                   --*/
/*---Detalle Modificaci«n : manejo de Provisiones No Autom--*/
/*---------------------------------------------------------*/
/*---Modificado 3 por     : Miguel Carrasco Ramirez              --*/
/*---Fecha Modificaci«n   : 16/06/2009                   --*/
/*---Detalle Modificaci«n : Eliminacion por unidad Contable--*/
/*---------------------------------------------------------*/  
/*---Comentarios                                         --*/  
/*---                                                    --*/  
/*---                                                    --*/  
/*---------------------------------------------------------*/  
  
/*---------------------------------------------------------*/  
/*---Drop Proc SP_TDREND_GAST_D01                        --*/  
/*---Grant all on SP_TDREND_GAST_D01 to public           --*/   
/*---SP_TDREND_GAST_D01 '01' , 1, 1, '03/01/1999',       --*/  
/*--- '03/31/1999', 'N', 1, 0, 0, NULL , NULL            --*/  
/*---------------------------------------------------------*/  
@ISCO_EMPR TD_VC_002,   
@ISCO_USUA_MODI   TD_VC_008,
@INNU_REND_GAST TD_VC_010,   
@IDFE_REND_GAST TD_DT_001,
@ISCO_UNID_CNTB TD_VC_003,   
@INNU_CORR TD_IN_001
	As
declare   
@VSST_AUXI_0008 TD_VC_003,  
@VSCO_PROV  TD_VC_020,  
@VSCO_TIPO_DOCU TD_VC_003,  
@VSNU_DOCU_PROV TD_VC_020,  
@VSST_PROV_AUTO TD_VC_001,  
@VSNU_ASTO TD_VC_010,  
@VDFE_REGI_COMP TD_DT_001,  
@VSCO_UNID_CONC TD_VC_003  
  
BEGIN TRAN  
  
	Select  @VSST_PROV_AUTO = ST_PROV_AUTO  
	From TMPARA_TESO  
	Where CO_EMPR = @ISCO_EMPR  
	
	Select @VSST_AUXI_0008 = T2.ST_AUXI_0008  
	From TDREND_GAST T1, TTTIPO_OPER T2  
	Where T1.CO_EMPR = @ISCO_EMPR  
	And T1.NU_REND_GAST= @INNU_REND_GAST  
	And T1.FE_REND_GAST= @IDFE_REND_GAST  
    And T1.CO_UNID_CONC = @ISCO_UNID_CNTB
	And T1.NU_CORR_GAST = @INNU_CORR  
	And T1.CO_EMPR = T2.CO_EMPR  
	And T1.CO_TIPO_OPER = T2.CO_TIPO_OPER  

    



	IF @VSST_AUXI_0008 = 'S' And @VSST_PROV_AUTO = 'S'  
	Begin  
	 
   	    Select @VSCO_PROV = CO_ENTI, @VSCO_TIPO_DOCU = CO_TIPO_DOCU,  
		@VSNU_DOCU_PROV = NU_DOCU_PROV  
		From TDREND_GAST  
		Where CO_EMPR = @ISCO_EMPR  
		And NU_REND_GAST= @INNU_REND_GAST  
		And FE_REND_GAST= @IDFE_REND_GAST  
        And CO_UNID_CONC = @ISCO_UNID_CNTB 
		And NU_CORR_GAST = @INNU_CORR 	
	
		Delete TDPROG_PAGO  
		Where CO_EMPR = @ISCO_EMPR  
		And CO_PROV = @VSCO_PROV  
		And CO_TIPO_DOCU = @VSCO_TIPO_DOCU  
		And NU_DOCU_PROV = @VSNU_DOCU_PROV  
	
		IF (@@ERROR != 0)  
		BEGIN   
			RAISERROR 20001 'ERROR DE INSERCION'  
			ROLLBACK TRAN  
			RETURN  		END  



		Delete TDDISP_CCOS  
		Where CO_EMPR = @ISCO_EMPR  
		And CO_PROV = @VSCO_PROV  
		And CO_TIPO_DOCU = @VSCO_TIPO_DOCU  
		And NU_DOCU_PROV = @VSNU_DOCU_PROV  
	
		IF (@@ERROR != 0)  
		BEGIN   
			RAISERROR 20001 'ERROR DE INSERCION'  
			ROLLBACK TRAN  
			RETURN 
		END  
	
	
		Select @VSNU_ASTO = NU_ASTO, @VDFE_REGI_COMP = FE_REGI_COMP,  
				@VSCO_UNID_CONC = CO_UNID_CONC  
		From TMDOCU_PROV  
		Where CO_EMPR = @ISCO_EMPR  
		And CO_PROV = @VSCO_PROV  
		And CO_TIPO_DOCU = @VSCO_TIPO_DOCU  
		And NU_DOCU_PROV = @VSNU_DOCU_PROV  
	
	
		Delete TMDOCU_PROV  
		Where CO_EMPR = @ISCO_EMPR  
		And CO_PROV = @VSCO_PROV  
		And CO_TIPO_DOCU = @VSCO_TIPO_DOCU  
		And NU_DOCU_PROV = @VSNU_DOCU_PROV  
	
		IF (@@ERROR != 0)  
		BEGIN   
			RAISERROR 20001 'ERROR DE INSERCION'  
			ROLLBACK TRAN  
			RETURN  
		END  
	
	
		If Rtrim(IsNull(@VSNU_ASTO, '')) != ''  
		Begin  
			Update TXMVTO_CNTB  
			Set SI_MVTO_CNTB = 'ELI',
			CO_USUA_MODI = @ISCO_USUA_MODI,
			FE_USUA_MODI = GETDATE()  
			Where CO_EMPR = @ISCO_EMPR  
			And NU_CNTB_EMPR = 1  
			And CO_UNID_CNTB = @VSCO_UNID_CONC  
			And CO_OPRC_CNTB = Left(@VSNU_ASTO, 3)  
			And NU_ANNO = Year(@VDFE_REGI_COMP)  
			And NU_MESE = Month(@VDFE_REGI_COMP)  
			And NU_ASTO = '00000' + Right(@VSNU_ASTO, 5)  
		
			IF (@@ERROR != 0)  
			BEGIN   
				RAISERROR 20001 'ERROR DE INSERCION'  
				ROLLBACK TRAN  
				RETURN  
			END  
		End  
	
	
	End  


     If @VSST_AUXI_0008 = 'S' And @VSST_PROV_AUTO = 'N' 

      Begin    

        Select @VSCO_PROV = CO_ENTI, @VSCO_TIPO_DOCU = CO_TIPO_DOCU,  
		@VSNU_DOCU_PROV = NU_DOCU_PROV  
		From TDREND_GAST  
		Where CO_EMPR = @ISCO_EMPR  
		And NU_REND_GAST= @INNU_REND_GAST  
		And FE_REND_GAST= @IDFE_REND_GAST  
        And CO_UNID_CONC = @ISCO_UNID_CNTB 
		And NU_CORR_GAST = @INNU_CORR 	

        Update  TMDOCU_PROV    
        Set  NU_REND_GAST = NULL,    
        CO_ESTA_DOCU = 'ACT',  
        IM_PAGA = 0,  
        CO_USUA_MODI = @ISCO_USUA_MODI,  
        FE_USUA_MODI = GETDATE()    
        Where  CO_EMPR = @ISCO_EMPR    
        And CO_PROV = @VSCO_PROV    
        And CO_TIPO_DOCU = @VSCO_TIPO_DOCU    
        And NU_DOCU_PROV = @VSNU_DOCU_PROV    
    
IF (@@ERROR != 0)  
	BEGIN   
	RAISERROR 20001 'ERROR DE INSERCION'  
	ROLLBACK TRAN  
	RETURN  
	END     
 End 
	
	Delete  TDREND_GAST  
	Where  CO_EMPR = @ISCO_EMPR  
	And NU_REND_GAST= @INNU_REND_GAST  
	And FE_REND_GAST= @IDFE_REND_GAST  
    And CO_UNID_CONC = @ISCO_UNID_CNTB
	And NU_CORR_GAST = @INNU_CORR  
	
	IF (@@ERROR != 0)  
	BEGIN   
	RAISERROR 20001 'ERROR DE INSERCION'  
	ROLLBACK TRAN  
	RETURN  
	END  


  
COMMIT TRAN  
  
/*--------------------------- Fin -------------------------------- */


GO
